package com.xoa.service.footprint;

import com.xoa.model.footprint.Foot;
import com.xoa.util.ToJson;

import java.text.ParseException;
import java.util.List;

/**
 * @创建作者: 韩成冰
 * @创建日期: 2017/6/8 11:06
 * @类介绍: 我的足迹
 * @构造参数: 无
 **/
public interface FootPrintService {
    /**
     * @创建作者: 韩成冰
     * @创建日期: 2017/6/8 11:07
     * @函数介绍: 添加足迹
     * @参数说明: @param Foot
     * @return: void
     **/
    ToJson<Foot> addFootPrint(Foot foot);

    /**
     * @创建作者: 韩成冰
     * @创建日期: 2017/6/8 13:24
     * @函数介绍: 查询足迹
     * @参数说明: @param Integer deptId
     * @参数说明: @param Integer uid
     * @参数说明: @param Integer 分页
     * @return: List<Foot></Foot>
     */
    List<Foot> getFootPrint(String app, Integer uid, String pageNum);

    /**
     * @创建作者: 韩成冰
     * @创建日期: 2017/6/8 13:24
     * @函数介绍: 查询足迹
     * @参数说明: @param Integer deptId
     * @参数说明: @param Integer uid
     * @参数说明: @param Integer 分页
     * @return: List<Foot></Foot>
     */
    ToJson<Foot> getWebFootPrint(String app, String time,String detail,Integer uid,Integer page, Integer pageSize, Boolean useFlag);

    /**
     * @创建作者: 韩成冰
     * @创建日期: 2017/6/8 15:15
     * @函数介绍: 查询某一条足迹
     * @参数说明: @param
     * @return: Foot
     **/
    List<Foot> getTheFootPrint(String day, Integer uid) throws ParseException;

    /**
     * @创建作者: 韩成冰
     * @创建日期: 2017/6/13 17:42
     * @函数介绍: 按条件查询用户
     * @参数说明: @param condition 查询条件，可能是用户名， 部门， 或时间
     * @参数说明: @param app 查询条件，可能是用户名， 部门， 或时间
     * @参数说明: @param pageNum 分页
     * @参数说明: @param uid 用户id
     * @return: List<Foot></Foot>
     **/
    List<Foot> findByCondition(String condition, String app, String pageNum, Integer uid);

    /**
     * @创建作者: 韩成冰
     * @创建日期: 2017/6/14 15:28
     * @参数说明: @param String day 时间
     * @参数说明: @param Integer uid 用户id
     *@函数介绍:  查询某人某天的足迹
     * @return: List<Foot></Foot>
     **/
    List<Foot> getTheDayFootPrint(String day, Integer uid);


    ToJson<Foot>   editUpdateTimeByuid(String time,Integer uid,Integer id);
}
